/*
 * Copyright © 2017 eqxiu.com 北京中网易企秀科技有限公司  All rights reserved.
 */

package cn.hermit.nio.http.server.rest.annotation;

/**
 * @author JackGao 高建国
 * @description //TODO 设计说明
 * @date 31/5/2017
 */
public @interface Header {

    String name();

    String description() default "";

    // The value MUST be one of "string", "number", "integer", "boolean", or "array"
    String type() default "string";

    String format() default "";

    //      csv - comma separated values foo,bar.
    //      ssv - space separated values foo bar.
    //     tsv - tab separated values foo\tbar.
    //     pipes - pipe separated values foo|bar.
    //     multi - corresponds to multiple parameter instances instead of multiple values for a single instance foo=bar&foo=baz. This is valid only for parameters in "query" or "formData".
    String collectionFormat() default "csv";

    String _default() default "";

    int maximum() default Integer.MAX_VALUE;

    boolean exclusiveMaximum() default true;

    int minimum() default Integer.MIN_VALUE;

    boolean exclusiveMinimum() default false;

    int maxLength() default Integer.MAX_VALUE;

    int minLength() default Integer.MIN_VALUE;

    String pattern() default "";

    int maxItems() default Integer.MAX_VALUE;

    int minItems() default Integer.MIN_VALUE;

    boolean uniqueItems() default false;

    String _enum() default "";

    int multipleOf() default 0;
}
